<script>
/*
1
找出所有2021-2100之间所有1月1日为星期日的日子并作为数组返回这些年，
比如["2023", "2034", "2040"...]。
参考Date对象文档
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Date
*/
// 2100 - 2021 + 1
// Array(80) -> map 日期 -> filter =星期日 -> map year
function getAllYears() {
   return [...Array(80)].map(function(_,index){
     const y=2021+index;
     return new Date(y,0,1)

   }).filter(function(date){
     return date.getDay()==0
   }).map(function(date){
     return date.getFullYear()
   })
   
}
console.log(getAllYears())


/*
2
某人邀请他的朋友来家聚餐，朋友名单如下 "名1:姓1;名2:姓2;..."

s = "Fred:Corwill;Wilfred:Corwill;Barney:Tornbull;Betty:Tornbull;Bjon:Tornbull;Raphael:Corwill;Alfred:Corwill";

写个函数，实现以下功能

把字符串变成全大写字母
用"姓"排序之后转换成这个样子的字符串

"(CORWILL, ALFRED)(CORWILL, FRED)(CORWILL, RAPHAEL)(CORWILL, WILFRED)(TORNBULL, BARNEY)(TORNBULL, BETTY)(TORNBULL, BJON)"

toUpperCase -> split(';') -> map split(':') -> sort ->
map (姓, 名) -> join('')
*/
//1
function meeting(str) {
  var arr=str.toUpperCase().split(";")
  // console.log(arr);
 .map(function(x,m){
  return x.split(":")
  // console.log(arr);
  }).sort(function(a,b){
    return a>b?1:a<b?-1:0
  }).map(function(x,m){
    return `${x[1]}:${x[0]}`;
  })
  return arr.join(" ");
}

//2
function meeting(str){
  return str
  .toUpperCase()
  .split(";")
  .map(function(fullname){
     return fullname.split(":")
  })
  .sort(function([,a],[,b]){
     return a>b?1:a<b?-1:0
  })
  .map(function([firstname,lastname]){
    return `(${lastname}:${firstname})`
  }).join("")
}


console.log(meeting(
  'Alexis:Wahl;John:Bell;Victoria:Schwarz;Abba:Dorny;Grace:Meta;Ann:Arno;Madison:STAN;Alex:Cornwell;Lewis:Kern;Megan:Stan;Alex:Korn'
))


</script>